﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using WaterBill.BUS;
using WaterBill.DTO;

namespace WaterBill.GUI
{
    public partial class frmChangePassword : DevExpress.XtraEditors.XtraForm
    {
        public frmChangePassword()
        {
            InitializeComponent();
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            if (txtPasswordOld.Text.Trim() != "")
            {
                if (txtPasswordNew.Text.Trim() != "")
                {
                    if (txtRePassword.Text.Trim() != "")
                    {
                        BUS_Users busUser = new BUS_Users();
                        DataTable dtUser = new DataTable();
                        dtUser = busUser.BUS_Users_checKLogin(txtUserName.Text, txtPasswordOld.Text);
                        if (dtUser.Rows.Count == 1)
                        {
                            if (txtPasswordNew.Text.Trim() == txtRePassword.Text.Trim())
                            {
                                DTO_Users obj = new DTO_Users();
                                obj.UserId = Convert.ToInt32(frmMain._DtUser.Rows[0]["UserId"].ToString());
                                obj.PassWord = txtPasswordNew.Text;
                                if (busUser.BUS_Users_ChangePassword(obj))
                                {
                                    XtraMessageBox.Show("Đổi mật khẩu thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                                    this.Close();
                                }
                                else
                                {
                                    XtraMessageBox.Show("Lỗi, không thể đổi mật khẩu được.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                            else
                            {
                                XtraMessageBox.Show("Xác nhận mật khẩu không đúng.", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                txtRePassword.Focus();
                            }
                        }
                        else
                        {
                            XtraMessageBox.Show("Mật khẩu nhập vào không đúng.", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            txtPasswordOld.Focus();
                        }
                    }
                    else
                    {
                        XtraMessageBox.Show("Trường Xác nhận mật khẩu không được bỏ trống.", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        txtRePassword.Focus();
                    }
                }
                else
                {
                    XtraMessageBox.Show("Trường Mật khẩu mới không được bỏ trống.", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    txtPasswordNew.Focus();
                }
            }
            else
            {
                XtraMessageBox.Show("Trường Mật khẩu cũ không được bỏ trống.", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtPasswordOld.Focus();
            }
        }

        private void frmChangePassword_Load(object sender, EventArgs e)
        {
            txtUserName.Text = frmMain._DtUser.Rows[0]["UserName"].ToString();
            txtPasswordOld.Focus();
        }

        private void txtPasswordOld_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                btnSave_Click(sender, e);
            }
        }

        private void txtPasswordNew_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                btnSave_Click(sender, e);
            }
        }

        private void txtRePassword_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                btnSave_Click(sender, e);
            }
        }
    }
}